from loguru import logger
from pathlib import Path
import sys

main_path = Path(__file__).parent
# 创建日志目录
log_path = main_path / "log"
log_path.mkdir(exist_ok=True, parents=True)

# 移除默认的控制台处理器
logger.remove()

# 添加控制台处理器，彩色输出
logger.add(
    sink=sys.stdout,
    format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>",
    level="DEBUG",
)

# 添加文件处理器，按天分割日志，保留30天
logger.add(
    sink="logs/quotation_{time:YYYY-MM-DD}.log",
    format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}",
    level="DEBUG",
    rotation="00:00",  # 每天零点创建新文件
    retention="30 days",  # 保留30天的日志
    compression="zip",  # 旧日志压缩为zip
    enqueue=True,  # 异步写入，提高性能
    encoding="utf-8",
)
